static bool stopnewproc1( int cd, char* exprgm, char* exfolder, char* exfile ) {

    wchar_t exfile1[ 1024 ];
    wchar_t exfile2[ 1024 ];
    wchar_t exfile3[ 1024 ];
    wchar_t exfile4[ 1024 ];
    wchar_t para[ 256 ];
    long mc = 300;

    wchar_t* dumy1 = chartowchar( exprgm, strlen( exprgm ) );
    wcscpy( exfile1, dumy1 );
    wchar_t* dumy2 = chartowchar( exfolder, strlen( exfolder ) );
    wcscpy( exfile2, dumy2 );
    wchar_t* dumy3 = chartowchar( exfile, strlen( exfile ) );
    wcscpy( exfile3, dumy3 );
    wcscpy( para, L"open" );
    if ( cd == 1 ) wcscpy( para, L"" );
    if ( cd == 2 ) wcscpy( para, L"explore" );
    if ( cd == 3 ) wcscpy( para, L"open" );
    if ( cd == 4 ) wcscpy( para, L"" );
    if ( cd == 5 ) wcscpy( para, L"" );
    if ( cd == 6 ) wcscpy( para, L"print" );

    bool rtn = false;
    if ( cd == 1 ) {
        rtn = setwinclose( exfile1, mc );
    }
    else if ( cd == 2 ) {
        rtn = setwinclose( exfile2, mc );
    }
    else if ( cd == 3 ) {
        rtn = setwinclose( exfile3, mc );
    }
    else if ( cd == 4 ) {
        rtn = setwinclose( exfile1, mc );
        if ( rtn == false ) rtn = setwinclose( exfile3, mc );
    }
    else if ( cd == 5 ) {
        rtn = setwinclose( exfile1, mc );
        if ( rtn == false ) rtn = setwinclose( exfile2, mc );
    }

    if ( dbgflg ) printf( "close type code [ %d ]\n", cd );
    if ( dbgflg ) printf( "close parameter [ %ls ]\n", para );
    if ( rtn == true ) if ( dbgflg ) printf( "close return code [ true ]\n" );
    else if ( dbgflg ) printf( "close return code [ false ]\n" );
    if ( dbgflg ) printf( "close file1 [ %ls ]\n", exfile1 );
    if ( dbgflg ) printf( "close file2 [ %ls ]\n", exfile2 );
    if ( dbgflg ) printf( "close file3 [ %ls ]\n", exfile3 );

    return rtn;

}